package com.caocaog.market.entity.dto;

import lombok.Data;
import org.jeecg.common.util.DateRangeUtil;
import org.springframework.util.Assert;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
import java.util.Objects;

/**
 * 夜间加价
 *
 * @author chechen
 * @date 2022-10-29
 */
@Data
public class NightFare implements Serializable {
    private static final long serialVersionUID = 1L;


    /**
     * 开始时间（HH:mm）
     */
    private String startTime;


    /**
     * 结束时间（HH:mm）
     */
    private String endTime;


    /**
     * 加价金额
     */
    private BigDecimal amount;


    /**
     * 解析店铺价格config的夜间（时间段）加价配置
     *
     * @param nightFares 夜间加价配置
     * @return 夜间加价金额
     */
    public static BigDecimal parsePriceConfig(List<NightFare> nightFares) {
        Assert.isTrue(Objects.nonNull(nightFares) && !nightFares.isEmpty(), "nightFares must not be empty!");

        for (NightFare nightFare : nightFares) {
            if (DateRangeUtil.isInMiddle(nightFare.startTime, nightFare.endTime)) {
                return nightFare.amount;
            }
        }

        return BigDecimal.ZERO;
    }


}
